package com.rabbit.eap.system.service;

import com.rabbit.eap.framework.common.api.ApiResult;
import com.rabbit.eap.framework.common.service.BaseService;
import com.rabbit.eap.system.dto.SysNoticeDTO;
import com.rabbit.eap.system.entity.SysNotice;
import com.rabbit.eap.system.param.SysNoticePageParam;

/**
 * @projectName: eap
 * @packageName: com.rabbit.eap.system.service
 * @className: ISysNoticeService
 * @author： rabbit
 * @version： 1.0
 * @since： 2020/06/06 23:01:20
 * <p>Description:
 * 通知公告表 服务类
 * </p>

 */
public interface ISysNoticeService extends BaseService<SysNotice> {


    /**
     * @Description: 添加通知公告表
     * @methodName: saveSysNotice
     * @param sysNoticeDTO:sysNoticeDTO数据传输对象
     * @return: ApiResult
     * @throws Exception
     * @date: 2020/06/06 23:01:20
     * @author: rabbit
     */
    ApiResult saveSysNotice(SysNoticeDTO sysNoticeDTO) throws Exception;


    /**
     * @Description: 修改通知公告表
     * @methodName: modifySysNotice
     * @param  sysNoticeDTO:sysNoticeDTO数据传输对象
     * @return: ApiResult
     * @throws Exception
     * @date: 2020/06/06 23:01:20
     * @author: rabbit
     */
    ApiResult modifySysNotice(SysNoticeDTO sysNoticeDTO) throws Exception;

    /**
     * @Description: 删除通知公告表
     * @methodName: removeSysNotice
     * @param ids:id集合
     * @return: ApiResult.result(flag)
     * @throws Exception
     * @date: 2020/06/06 23:01:20
     * @author: rabbit
     */
    ApiResult removeSysNotice(Long[] ids) throws Exception;

    /**
     * @Description: 根据Id获取通知公告表详情
     * @methodName: getSysNoticeInfo
     * @param id: id
     * @return:  SysNoticeVO
     * @throws Exception
     * @date: 2020/06/06 23:01:20
     * @author: rabbit
     */
    ApiResult getSysNoticeById(Long id) throws Exception;

    /**
     * @Description: 通知公告表分页列表
     * @methodName: getSysNoticePageList
     * @param sysNoticePageParam
     * @return: Paging<SysNoticeVO>
     * @throws Exception
     * @date: 2020/06/06 23:01:20
     * @author: rabbit
     */
    ApiResult getSysNoticePageList(SysNoticePageParam sysNoticePageParam) throws Exception;

}
